﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace YunLian.Cache
{
    public interface ICacheManagerConfiguration : IReadOnlyCacheManagerConfiguration
    {
       
        IList<CacheHandleConfiguration> CacheHandleConfigurations { get; }

        
        ConfigurationBuilder Builder { get; }
    }

    public interface IReadOnlyCacheManagerConfiguration
    {
        
        string BackplaneChannelName { get; }

       
        string BackplaneConfigurationKey { get; }

        
        Type BackplaneType { get; }

        
        object[] BackplaneTypeArguments { get; }

        
        bool HasBackplane { get; }

        

        
        int MaxRetries { get; }

        
        string Name { get; }

        
        int RetryTimeout { get; }

        

       
        CacheUpdateMode UpdateMode { get; }
    }
}
